﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Foundation {
    /// <summary>
    /// Diese Exception wird geworfen, wenn ein Filenamen im ungültigen Format übergeben wird
    /// </summary>
    public class FileNameNotValidException : Exception {
        /// <summary>
        /// Konstruktor
        /// </summary>
        /// <param name="message"></param>
        /// <param name="ex"></param>
        public FileNameNotValidException(string message, Exception ex) : base(message, ex) { }
    }

    /// <summary>
    /// Diese Exception wird geworfen, Eine Kategorie nicht existiert.
    /// </summary>
    public class CategoryNotExistException : Exception {
        /// <summary>
        /// Konstruktor
        /// </summary>
        /// <param name="message"></param>
        /// <param name="ex"></param>
        public CategoryNotExistException(string message, Exception ex) : base(message, ex) { }
    }

    /// <summary>
    /// Diese Exception wird geworfen, ein Track nicht existiert.
    /// </summary>
    public class TrackNotExistException : Exception {
        /// <summary>
        /// Konstruktor
        /// </summary>
        /// <param name="message"></param>
        /// <param name="ex"></param>
        public TrackNotExistException(string message, Exception ex) : base(message, ex) { }
    }

    /// <summary>
    /// Diese Exception wird geworfen, wenn ein Track schon zugewiesen wurde
    /// </summary>
    public class TrackAlreadyAssignedException : Exception {
        /// <summary>
        /// Konstruktor
        /// </summary>
        /// <param name="message"></param>
        /// <param name="ex"></param>
        public TrackAlreadyAssignedException(string message, Exception ex) : base(message, ex) { }
    }
}


